/*
 * Project Name spring-boot-tools
 * File Name OracleCreate
 * Package Name com.huxiaosu.tools.mybatis.autocreate
 * Create Time 2024/7/12
 * Create by name：liujie
 */
package com.huxiaosu.tools.mybatis.demo.autocreate;

import com.baomidou.mybatisplus.annotation.DbType;
import com.huxiaosu.tools.autocreate.AutoCreateAware;
import com.huxiaosu.tools.autocreate.tables.AbstractCreateTable;
import com.huxiaosu.tools.autocreate.utils.FieldInfo;
import com.huxiaosu.tools.autocreate.utils.TableInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;

/**
 * Description
 *
 * @author liujie
 * @date 2024/7/12 15:45
 */
@Slf4j
public class CreateOracleTable extends AbstractCreateTable implements EnvironmentAware, BeanFactoryAware, AutoCreateAware {
    private Environment environment;
    private BeanFactory beanFactory;
    @Override
    public DbType getDbType() {
        return DbType.ORACLE;
    }

    @Override
    public void execute() {
        log.info("create oracle ... ");
    }

    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        this.beanFactory = beanFactory;
    }

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }

    @Override
    public void initConnection(String datasource) {

    }

    @Override
    public String getDropTableSql(String schema, String tableName) {
        return null;
    }

    @Override
    public String checkTableSql(String schema, String tableName) {
        return null;
    }

    @Override
    public String getTableColumnSql(String schema, String tableName) {
        return null;
    }

    @Override
    public String createTableSql(String schema, TableInfo tableInfo) {
        return null;
    }

    @Override
    public String addTableColumnSql(String schema, String tableName, FieldInfo fieldInfo) {
        return null;
    }

    @Override
    public String deleteTableColumnSql(String schema, String tableName, String columnName) {
        return null;
    }

    @Override
    public String modifyTableColumnSql(String schema, String tableName, FieldInfo fieldInfo) {
        return null;
    }
}